//============================================================================
// Nome        : gestrans.cpp
// Autores     : T1G7
//                                      Felipe Galvão do Espírito Santo
//                                      Ivanilda Maísa Costa Brazão de Almeida
//                                      Paulo Jorge de Faria dos Reis
// Versão      : 1.0
// Data        : Maio de 2011
// Copyright   : Creative Commons 2.0
// Descrição   : CAL 2011 - TG1
//               Tema 12 - Transporte de pacientes de uma clínica de saúde.
//============================================================================



#include "cute.h"
#include "ide_listener.h"
#include "cute_runner.h"
#include "Auxiliar.h"
#include "Empresa.h"

#define DEBUG 0

using namespace std;

void testeMotorista()
{

}


void runSuite()
{
	cute::suite s;
	//TODO N�o esquecer de fazer os testes para as classes
	s.push_back(CUTE(testeMotorista));
	cute::ide_listener lis;
	cute::makeRunner(lis)(s, "The Suite");
}


//! Ponto de entrada na aplica��o.
/*! � necess�rio um ponto de entrada onde se utiliza a estrutura try catch para tratamento de erros da aplica��o.
 *  Caso se fizesse a entrada directa no c�digo da aplica��o n�o poderiamos capturar erros e fazer o seu devido tratamento
 *  quando estes fossem ao n�vel da aplica��o.
 *
 */
int main(int argc, char *argv[], char *envp[])
{
	//TODO se modo debug, fazer testes, sen�o try catch da aplica��o.
    if(DEBUG)
	{
    	runSuite();
	}
    else
    {
    	try
    	{
    		cout << "Tema 12 - Transporte de pacientes de uma cl�nica de sa�de." << endl;
    		// TODO Menu de gest�o de utilizadores da aplica��o.
    		Empresa empresa1("arquivo.db");
    		empresa1.iniciar();
    	}
    	catch(char* erro)
    	{
    		cout << erro << endl;
    	}
    	catch(...)
    	{
    		cout << "Erro n�o especificado na aplica��o." << endl;
    	}
    }
    return 0;
}



